/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package OpenCodes.Persistencia.MySQL.Persona;
import OpenCodes.Dominio.Persona;
import java.sql.Connection;
import OpenCodes.Persistencia.RepositorioException;
import java.util.List;
/**
 *
 * @author Nicolas
 *
 * La clase Persona repo no implementa ni hace nada.
 * No tiene instancias ya que es abstracta.
 * Las implementaciones y las interfaces las hacen las subclases
 */
public abstract class PersonaMySqlRepo  {
    private Connection connection;

    public PersonaMySqlRepo(Connection connection) {
        this.connection = connection;
    }

    public Connection getConnection() {
        return connection;
    }

    public void setConnection(Connection connection) {
        this.connection = connection;
    }

    
   
    abstract void actualizar(Persona persona) throws RepositorioException;

    abstract void agregar(Persona persona) throws RepositorioException;

    abstract void eliminar(Persona persona) throws RepositorioException;

    abstract Persona cargar(int personaId) throws RepositorioException;

    abstract List<Persona> buscar(String nombre, String apellido) throws RepositorioException;

    abstract List<Persona> listar() throws RepositorioException;
}
